Communication Network Topology Determination

ABSTRACT

A communication network topology is determined by evaluating costs of states each representing a possible assignment of hubs and remote nodes to nodes of the communication network. The hubs connect to a central network, the remote nodes connect wirelessly to the hubs and obtain connectivity to the central network through the hubs. The cost of each state is determined based on costs for configuring each node as a hub or a remote node, uplink frequencies for sending data from the remote nodes to corresponding hubs, and downlink frequencies for sending data from the hubs to corresponding remote nodes.

RELATED APPLICATIONS

This application is a continuation of and claims the benefit of priority from U.S. application Ser. No. 11/855,968, filed Sep. 14, 2007, which claims priority to U.S. provisional application Ser. No. 60/825,653, filed Sep. 14, 2006. The disclosures of the above applications are incorporated by reference in their entirety.

BACKGROUND

This description is related to communication network topology determination.

In some examples, a wired network has a topology that is fixed by the wire line connections and has a networking layer with routing that is optimized according to the given topology. Some wireless networks follow a similar design, where the network layer depends on the connectivity provided by the physical layer. Some wireless networks based on software defined radio technology can be more flexible because the networking layer can use flexible radios to control the physical topology. In some deployments, there is a large space of possible topologies subject to physical limits on connectivity due to node separation, obstructions, and similar effects.

SUMMARY

In general, in one aspect, a topology of a communication network is determined by evaluating costs of states each representing a possible assignment of hubs and remote nodes to nodes of the communication network. The hubs connect to a central network and the remote nodes connect wirelessly to the hubs and obtain connectivity to the central network through the hubs. The cost of each state is determined based on costs for configuring each node as a hub or a remote node, uplink frequencies for sending data from the remote nodes to corresponding hubs, and downlink frequencies for sending data from the hubs to corresponding remote nodes.

Implementations can include one or more of the following features. The communication network includes a cellular telephone network. The hubs and the remote nodes include base stations for communicating with end users, the central station includes a switched network, and the links between the remote nodes and the hubs provide in-band backhaul. Each node can either be a hub or a remote node, and evaluating the costs of states includes evaluating the costs of a subset of states selected from 2^(N) states, N representing the number of nodes in the communication network. Uplink relationships between remote nodes and hubs indicating which remote nodes send data upstream to which hubs are determined. Determining the uplink relationship includes assigning each remote node to a closest hub and assigning uplink frequencies such that signal-to-interference-plus-noise ratios for each uplink is above a preset threshold. Assigning each remote node to a closest hub includes assigning each remote node to a hub that is closest geographically or a hub that results in a minimum propagation loss. Downlink relationships between hubs and remote nodes indicating which hubs send data downstream to which remote nodes are determined. Determining the downlink relationships includes selecting among a plurality of possible configurations to maximize the number of remote nodes that share frequencies while maintaining the signal-to-interference-plus-noise ratios for each downlink above a preset threshold.

In some examples, a greedy heuristic algorithm can be used to evaluate the states. An iterative process can be used to evaluate the states, and at each iteration evaluate states each representing a network topology having more hubs than those represented by states evaluated at a previous iteration. When the costs of each state evaluated at an iteration are higher than the lowest cost of states evaluated at a previous iteration, the assignment of hubs and remote nodes represented by the state having the lowest cost in the previous iteration is selected as the final topology for the communication network. At each iteration, a first subset of states are evaluated and one of the first subset of states having a lowest cost is selected, and at the next iteration, a second subset of states are evaluated, each state in the second subset being derived by taking the lowest-cost state in the first subset and changing one or more of the remote nodes to hubs. In some examples, an iterative process is used to evaluate the states, and at each iteration evaluate states each representing a network topology having less hubs than those represented by states evaluated at a previous iteration. At each iteration, a first subset of states is evaluated and one of the first subset of states having a lowest cost is selected, and at the next iteration, a second subset of states are evaluated, each state in the second set being derived by taking the lowest-cost state in the first subset and changing one or more of the hubs to remote nodes.

In some examples, a simulated annealing process is used to determine a sequence of states to evaluate, including at each step of the process, evaluating one or more neighbor states of a current state and probabilistically determining whether to maintain the current state or evaluate one of the neighbor states, in order to progress generally towards states of lower costs. Neighboring states are defined such that two neighboring states differ from each other by one node in which the node is a hub in one of the two neighboring states and a remote node in the other of the two neighboring states.

In general, in another aspect, a topology of a communication network is determined by using linear programming to find a minimum of a cost function subject to a set of constraints. The cost function includes variables representing whether a node of the communication network is a hub or a remote node, variables indicating whether a set of uplink frequencies are used, and variables indicating whether a set of downlink frequencies are used. The constraints take into account signal-to-interference-plus-noise ratio requirements for the uplinks and downlinks.

Implementations can include one or more of the following features. The linear programming includes integer linear programming and the variables include one or more integers.

In general, in another aspect, a topology of a communication network is determined using an iterative process. Each step of the iterative process includes determining which nodes of the communication network are hub nodes and which nodes are remote nodes, the hub nodes connecting to a central network, the remote nodes connecting wirelessly to the hub nodes; assigning the remote nodes to the hub nodes for establishing uplink channels between the remote nodes and corresponding hub nodes; assigning frequencies for the uplink channels; assigning the remote nodes to the hub nodes for establishing downlink channels between hub nodes and corresponding remote nodes; assigning frequencies for the downlink channels; and evaluating a cost of the network configuration based on assignments of the hub nodes, uplink frequencies, and downlink frequencies.

Implementations can include one or more of the following features. Assigning the remote nodes to the hub nodes for establishing uplink channels and assigning the uplink frequencies include assigning each remote node to a closest hub node and assigning uplink frequencies such that signal-to-noise ratios for each uplink is above a preset threshold. In some examples, assigning the remote nodes to the hub nodes for establishing downlink channels and assigning the downlink frequencies include assigning each remote node to a closest hub node and assigning downlink frequencies such that signal-to-noise ratios for each downlink is above a preset threshold. In some examples, assigning the remote nodes to the hub nodes for establishing downlink channels and assigning downlink frequencies include selecting among a plurality of possible configurations to maximize reuse of frequencies while maintaining the signal to noise ratios for each downlink above a preset threshold.

In general, in another aspect, a state machine is provided to determine a topology of a communication network by evaluating costs of states each representing a possible assignment of hubs and remote nodes to nodes of the communication network, the hubs connecting to a central network, the remote nodes connecting to the hubs. A cost determination engine is provided to determine a cost of each state based on costs for configuring each node as a hub or a remote node, uplink frequencies for sending data from the remote nodes to corresponding hubs, and downlink frequencies for sending data from the hubs to corresponding remote nodes.

In general, in another aspect, an article includes a machine-readable medium that stores executable instructions that when executed causes a machine to determine a topology of a communication network by evaluating costs of states each representing a possible assignment of hub nodes and remote nodes to nodes of the communication network, the hub nodes connecting to a central network, the remote nodes connecting wirelessly to the hub nodes. The cost of each state determined based on costs for configuring each node as a hub node or a remote node, uplink frequencies for sending data from the remote nodes to corresponding hub nodes, and downlink frequencies for sending data from the hub nodes to corresponding remote nodes.

These and other aspects and features, and combinations of them, may be expressed as methods, apparatus, systems, means for performing functions, program products, and in other ways.

Advantages of the aspects and features include one or more of the following. The overall network cost can be reduced. Fast algorithms can be used to find approximate optimal solutions. Solutions for in-band backhaul can be found. Wireless spectrum can be conserved by finding a solution that maximizes sharing of frequencies. Operators of software defined radio networks can quickly re-design network topology based on changes in the network environment, such as when a site is added or removed from the network.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram of a communication network.

FIGS. 2 and 3 are diagrams of hubs and remote nodes.

FIGS. 4-7 are flow diagrams of processes for determining network topology.

FIG. 8 is a table of simulation results.

FIGS. 9-11 are graphs of hubs, remote nodes, and associated uplinks and downlinks.

DETAILED DESCRIPTION 1. Overview

A communication network topology can be determined by selecting a set of hubs from a set of candidate sites of the communication network, assigning remote nodes to hubs, and determining assignment of uplink and downlink frequencies for a given selection of hubs and a particular assignment of remote nodes to hubs, and optimizing (e.g., minimizing) a cost function. The problem can be formulated as a linear or non-linear program, and the network topology can be determined by solving the linear or non-linear program. Approximation methods can be used to simplify the problem. For example, heuristic algorithms using a “greedy” algorithm or a “simulated annealing” approach can be used to speed up the process of finding a solution that may be close to an optimal solution.

Referring to FIG. 1, an exemplar communication network 100 includes a core network 102 and network nodes. The network nodes can be either hubs 104 or remote nodes 106. The hubs 104 connect to the central network 102 through connection lines 108 each having a certain cost. For example, the connection lines 108 can be leased lines, such as T1 or E1 lines. The remote nodes 106 connect to the hub nodes 104 through wireless links. In this example, it is assumed that each remote node 106 connects to one hub 104, and a remote node 106 does not connect directly to the core network 102 or to other remote nodes 106.

In some implementations, the communication network 100 is a cellular telephone network, the core network 102 is a switching network, such as a public switched telephone network (PSTN), and the hubs 104 and remote nodes 106 are base stations that communicate with end user terminals, such as cellular phones.

During the design stage, each of the network nodes can be assigned as a hub 104 or a remote node 106. For example, a network company may have facilities at different sites, and each site can be configured as a hub 104 or a remote node 106. The different sites can be located at different offices or floors of a building, different segments of a city, or different cities within a geographical region. The network company can install different equipment at a site based on whether the site is selected to be a hub 104 or a remote node 106. In some examples, using software defined radio equipment, a site can be configured as a hub 104 or remote node 106 by changing software configuration. The cost of setting up a site as a hub 104 can be different from the cost associated with setting up a remote node 106. For example, equipment costs can be different, the hub 104 may require an expensive leased line for connecting to the core network 102, etc.

The assignment of remote nodes 106 to hubs 104 for an uplink configuration can be different from that for a downlink configuration. For example, referring to FIG. 2, a downlink channel 110 connects a remote node 106 to a hub 104 a, and an uplink channel 112 connects the remote node 106 to another hub 104 b. The uplink channel 112 and downlink channel 110 use frequencies within a spectrum available to the communication network 100. Some frequencies can be reused or shared by channels subject to constraints on signal-to-interference-plus-noise (SINR) ratios.

Methods for determining the topology of the communication network 100 can be applied to determining a topology for a cellular telephone network that provides in-band backhaul. One of the primary operating expenses for a cellular network is the backhaul, the data connection between the base stations and the central switching facility. In rural areas, leased lines such as T1/E1 lines can be expensive. At the same time, in rural areas the cellular spectrum may be underutilized. It is possible to eliminate the leased lines going to some sites, and instead re-using some of the cellular spectrum to support in-band backhaul to a neighboring site that has a leased line. In this example, the sites without leased lines are the remote nodes, while the sites with leased lines that are supporting neighboring remote nodes are the hubs.

In some implementations that use software defined radio technology in cellular telephone base stations, it is possible to support in-band backhaul with no additional hardware at most sites. A single radio transmits and receives both the cellular waveform for end-user traffic and the backhaul waveform. Using software defined radio, the topology decision is less constrained than with in-band backhaul solutions that require hardware installation. Determining the network topology involves deciding (i) which nodes should be designated as hubs, which should be remote nodes, (ii) how should the remote nodes be paired up with the hubs, and (iii) what uplink or downlink frequencies should be used to connect each pair. This decision is made in a way that minimizes the overall consumption of backhaul spectrum and the overall cost of the leased lines.

Methods for determining the topology of the communication network 100 can also be applied to other contexts. For example, consider a collaborating group of mobile users who want to minimize their total cost for broadband internet access. Each user has a laptop with both an unlicensed ad-hoc wireless card (free to use) and a cellular broadband wireless client card (requiring payment to a service provider). The functionalities of the ad-hoc wireless card and the cellular broadband wireless client card can be implemented using a single software defined radio device that can perform either function or both at the same time. A user may either connect directly to the cellular service, or may connect ad-hoc to a peer and share that node's cellular broadband service, reducing overall connectivity costs. In this example, determining the network topology involves deciding (i) which nodes should be hubs, (ii) which nodes should be remote nodes, and how the remote nodes should be paired to the hubs reduce both overall consumption of spectrum for the ad-hoc links and the overall cost of the cellular broadband service.

The problem of determining the topology for the communication network 100 can be formulated as a three-part joint optimization problem that simultaneously involves (i) selecting a subset of sites to be hubs, (ii) assigning the remaining sites (remote nodes) to hubs for uplink and downlink, and (iii) allocating a specific frequency for each uplink channel and downlink channel while minimizing a cost function. A feature of this approach is that the joint formulation considers both network topology design and frequency planning at the same time. Finding a solution of this joint problem optimizes both costs involved in assigning sites as hubs or remote nodes and costs involved in allocating uplink and downlink frequencies.

The three parts of the joint optimization problem are closely related because, for example, the selection of hubs affects the assignment of uplink and downlink frequencies, and vice versa. For example, for a given set of uplink and downlink frequencies, it may be possible to find a selection of hubs that results in a lowest cost C1. For another given set of frequency assignments, there may be another selection of hubs that results in a lowest cost C2, in which C2 is lower than C1. Thus, finding a selection of hubs by optimizing a cost function for a particular frequency assignment may produce a “local” optimal solution which may not be a “global” optimal solution. Similarly, finding an assignment of uplink and downlink frequencies by optimizing a cost function for a particular selection of hubs may produce a local optimal solution which may not be a global optimal solution.

Methods for determining network topology by solving the joint optimization problem can be used in various applications, e.g., for wireless backhaul provisioning, base station selection and power control in cellular networks, and topology control and clustering in wireless networks.

As discussed above, the three-part joint optimization problem simultaneously involves (i) selecting a subset of sites to be hubs, (ii) assigning the remaining sites to hubs for uplink and downlink, and (iii) allocating a specific frequency for each uplink channel and downlink channel while minimizing a cost function. In the description below, two heuristics are proposed for solving parts (ii) and (iii) of the problem, the closest hub and the matching heuristics. The closest hub heuristic assigns each remote node to its closest hub and performs a graph coloring on the conflict graph to assign the frequencies. The matching heuristic uses an iterative matching procedure to attempt to assign remotes and frequencies to maximize frequency reuse. Two algorithms are described that use these heuristics to solve the joint problem. The first is a greedy algorithm, which starts with one hub and greedily adds more hubs to strictly reduce the cost until no further reductions can be achieved by hub addition. The second is a simulated annealing approach that uses a hill-climbing local search to produce a good solution.

2. Theoretical Framework

In section 2, a theoretical framework is provided for modeling the joint topology design and frequency planning problem as an optimization problem, and intuition is developed on the characteristics of good solvers. In some implementations, the problem can be formulated as a non-linear program, which can be approximated by a linear program. In some implementations, approximate or suboptimal methods can be used to find solutions that approximate optimal solutions. For example, two suboptimal solvers based on the greedy algorithm and the simulated annealing approach is described. Both algorithms have reduced complexity (compared with solving the linear program), perform well, and are able to solve problems of large size in a reasonable amount of time.

2.1 Network Topology

In some examples, the communication network 100 includes a collection of stationary nodes that are classified as hubs 104 or remotes 106 according to their ability to communicate with the core network 102. Every node has a primary wireless interface that enables communication between the hubs 104 and remotes 106. In addition, hub nodes 104 are equipped with secondary interfaces that allow them to connect directly to the core network 102. Remote nodes 106, on the other hand, can connect to the core network 102 only indirectly by using their primary interface to connect to a hub 104. Hub nodes 104 act as access points to the larger core network 102.

Communication between a hub 104 and a remote 106 can be unidirectional. This means that a remote 106 can receive signals from one hub (e.g., 104 a of FIG. 2) on the downlink 110 and transmit signals to a potentially different hub (e.g., 104 b) on the uplink 112.

The overall structure of the communication network 100 can be described as a collection of downlink clusters and uplink clusters, each including a hub 104 and zero or more remote nodes 106. Each hub 104 has two clusters associated with it: one downlink cluster that includes simplex links carrying traffic from the hub 104 to the remotes 106, and one uplink cluster that includes simplex links carrying traffic from the remotes 106 to the hub 104. The downlink and uplink clusters associated with a hub 104 can be different. For a given hub 104, either one of the clusters may be trivial (serving zero remotes) while the other one is not.

2.2 Physical Layer Characteristics

In some examples the physical layer protocol used to establish communication between hubs 104 and remotes 106 is assumed to have one or more of the following general characteristics:

-   -   Frequency division duplexing (FDD): Downlink and uplink         transmissions take place in disjoint frequency bands with enough         separation between them such that, with the use of bandpass         filters, any interference between downlink and uplink signals is         negligible. Full-duplex communication is possible.     -   Frequency division multiple access (FDMA): Transmissions from         multiple nodes that are assigned to different channels do not         interfere. This is typically implemented via techniques such as         filtering, guard-bands, or cyclic prefix plus synchronization.     -   Independent output power per link: A node can independently vary         its transmission power on a per-link basis. There is a specified         maximum value P_(max) applying independently to each link.     -   Received signal quality: The signal-to-interference-plus-noise         ratio (SINR) of the received signal at each node should exceed a         specified minimum value SINR_(min) in order to achieve an         acceptable decoder error rate.

The above general characteristics of the physical layer shape the network optimization problem. Frequency division duplexing allows decoupling of the downlink and uplink frequency allocations and timings since there is no interference between the two bands. Frequency division multiple access simplifies the frequency allocation within the uplink and downlink bands because the interference that arises is due to frequency reuse. Independent output power per link simplifies the power allocation problem, compared to systems where the sum of the power across all links is the primary limit.

Frequency reuse is desirable to reduce the cost of the network. How much reuse can be achieved for a given placement of hubs and remotes depends on the resulting interference. For the network to be feasible, all links in the network should have an SINR no less than SINR_(min). The independent output power per link characteristic allows the transmitter power to be set just high enough to meet that constraint for each link. Minimizing power per link reduces interference and thereby improves frequency reuse.

2.3. Joint Remote Node Assignment and Frequency Allocation

Because maximum frequency reuse is desirable, and there is coupling between frequency reuse and interference, it is useful to quantify the relationship between the two. The following notations will be used in the equations described below:

-   -   N denotes the number of nodes in the network     -   i→j denotes the simplex link from node i to node j.     -   F_(UL) denotes the set of uplink frequencies     -   F_(DL) denotes the set of downlink frequencies     -   W_(ijf) is an indicator defined as follows:

$W_{ijf} = \left\{ \begin{matrix} {1,} & {\left. {{if}\mspace{14mu} j}\rightarrow{i\mspace{14mu} {uses}\mspace{14mu} f} \right. \in F_{DL}} \\ {0,} & {{otherwise}.} \end{matrix} \right.$

-   -   Z_(ijf) is an indicator defined as follows:

$Z_{ijf} = \left\{ \begin{matrix} {1,} & {\left. {{if}\mspace{14mu} i}\rightarrow{j\mspace{14mu} {uses}\mspace{14mu} f} \right. \in F_{UL}} \\ {0,} & {{otherwise}.} \end{matrix} \right.$

-   -   P_(ij) denotes the transmit power for link i→j.     -   ∥H_(ij)∥ denotes the channel amplitude for link i→j. It is         assumed to be independent of the particular frequency used.

N_(O) denotes the receiver noise power in one channel bandwidth.

Assume remote node i connects to hub j on the uplink. The interference experienced by link i→j can be computed by adding the received power contributed by all other links using the same frequency. Using the notation introduced above, the SINR for link i→j is given by

$\begin{matrix} {{{SINR}_{UL}\left( i\rightarrow j \right)} = \frac{P_{ij}{H_{ij}}^{2}}{N_{o} + {\sum\limits_{k = 1}^{N}\; {\sum\limits_{m = 1}^{N}\; {\sum\limits_{f \in F_{UL}}\; {P_{km}{H_{kj}}^{2}Z_{ijf}Z_{kmf}}}}}}} & (1) \end{matrix}$

The numerator in Equation (1) is the received signal power received for the link i→j. The denominator is the sum of the receiver noise plus interference from other nodes using the same frequency as the link i→j. The product of the indicators in the triple sum specifies that only the received power from other nodes transmitting in the same frequency channel is counted as interference.

Similarly, the SINR for a downlink i→j is given by

$\begin{matrix} {{{SINR}_{DL}\left( i\rightarrow j \right)} = \frac{P_{ij}{H_{ij}}^{2}}{N_{o} + {\sum\limits_{k = 1}^{N}{\sum\limits_{f \in F_{DL}}\; {P_{km}{H_{kj}}^{2}W_{jif}Z_{mkf}}}}}} & (2) \end{matrix}$

The difference in the uplink and downlink SINR expressions is the set of valid frequencies and the indicators.

2.4. Network Cost Model

In general, the cost of the communication network 100 can be divided into two components: capital expenses (CAPEX) and operating expenses (OPEX). CAPEX includes the cost of, e.g., radio equipment and support systems for each node. For example, CAPEX for hub nodes 104 could be higher than for remote nodes 106 since hubs 104 may require additional equipment to implement the secondary communication interface to the core network. OPEX includes, e.g., among other things the cost of spectrum use, the cost of access to the core network, site maintenance cost, and perhaps rent. In some examples, the cost model can be chosen to reflect OPEX and ignore CAPEX, since OPEX dominates in the long term.

In some examples described in this document, the OPEX cost model is based on the example of a cellular network with in-band wireless backhaul. Each node in the network 100 corresponds to a cell site and only the sites selected as hubs 104 have a direct connection to the core network 102 via, e.g., T1 lines. The rest of the nodes backhaul their traffic over the air to one of the hubs 104 and from there onto the core network 102. The choice of hubs 104 take into account T1 line fees which may vary depending on location. Spectrum cost, which depends on frequency reuse, depends on the choice of hubs 104 and the assignment of remotes 106 to hubs 104.

Based on the above observations, a model is proposed with two components:

(1) the cost of operating a given node as a hub, and

(2) the cost of using a frequency channel for communication between a hub and a remote. The total network cost is the sum of all hub costs and frequency use costs, which can be expressed mathematically as,

$\begin{matrix} {{Cost} = {{\sum\limits_{i \in H}\; c_{i}} + U_{f} + D_{f}}} & (3) \end{matrix}$

where H represents the set of sites that are hubs 104, c_(i) represents the cost of making site i a hub, and U_(f) and D_(f) represent the total number of uplink and downlink frequencies, respectively, used in the final plan. The costs c_(i)'s are normalized to the cost of using a frequency channel for a hub-remote communication.

2.5. Optimization Problem

Each node of the communication network 100 can be configured as a hub or a remote node. If there are N nodes in the communication network 100, there can be 2^(N) different configurations. Each of the possible network configurations can be regarded as a “state”, and the 2^(N) possible hub/remote assignment configurations can be regarded as 2^(N) states in the solution space. An optimal communication network topology can be determined by evaluating the costs associated with each of the 2^(N) states and finding a state with the lowest cost. For each state, there can be various ways of assigning remote nodes to hubs, and assigning uplink and downlink frequencies, each with a particular associated cost. Each of the various ways of assignments is evaluated to determine whether a signal-to-interference-plus-noise ratio (SINR) is above a minimum threshold to ensure proper decoding of messages. Among the assignments whose SINR meets the threshold criterion, the assignment with the lowest cost is selected. The costs for all 2^(N) states are compared and the state with the lowest cost is selected as the optimal network topology.

The network design problem can be formulated, e.g., as an integer linear program (ILP). The ILP formulation serves as a precise statement of the problem and also provides a way of solving the problem via an ILP solver. The ILP approach can be complex for large problems. However, as computation powers of machines increase over time, problems that appear complex for today's computers may be readily solvable for future computers. The ILP approach can produce optimal solutions that can be used as references for evaluating the performances of other algorithms.

The interference constraints described above are simplified in order to pose the problem as an ILP. Otherwise, an interference model based on the SINR definitions in equations (1) and (2) would impose non-linear constraints. Specifically, writing out the constraint SINR_(UL)≧SINR_(min) using Equation (1) and rearranging terms one obtains

$\begin{matrix} {{P_{ij}{H_{ij}}^{2}} \geq {{SINR}_{\min}\left( {N_{o} + {\sum\limits_{k = 1}^{N}\; {\sum\limits_{m = 1}^{N}\; {\sum\limits_{f \in F_{UL}}\; {P_{km}{H_{kj}}^{2}Z_{ijf}Z_{kmf}}}}}} \right)}} & (4) \end{matrix}$

Note that the right-hand side contains products of the transmit power P_(km) and the indicators Z_(ijf) and Z_(kmf), all of which are parameters in the network design problem.

One way to obtain simplified constraints is to test only for interferences between pairs of links sharing the same frequency. Suppose only link k→m uses the same frequency as link i→j. Then the interference constraint above becomes

P _(ij) ∥H _(ij)∥²≧SINR_(min)(N _(O) +P _(km) ∥H _(kj)∥²)  (5)

Assuming all links are power-controlled such that the received power is equal to P_(rev), then substituting P_(ij)∥H_(ij)∥²=P_(rev) and P_(km)∥H_(km)∥²=P_(rev) in equation (5) and dividing on both sides by P_(rev) yields

1≧SINR_(min)(N _(o) /P _(rev) +∥H _(kj)∥² /∥H _(km)∥²)  (6)

Furthermore, if the links operate in the interference-limited regime, SINR_(min)<<P_(rev),/N_(o), so one can approximate the interference constraint as

∥H _(km)∥² /∥H _(kj)∥²≧SINR_(min)  (7)

Note that the last approximation results in a slightly relaxed constraint. In addition, the constraint is valid only in the case of one interferer.

A special case of equation (7) occurs when considering a pair of remote nodes 106 that connect to the same hub 104. In this case, m=j, and the interference constraint reduces to

∥H _(km)∥² /∥H _(km)∥²=1=0 dB≧SINR_(min)

which is not satisfied for any reasonable values of SINR_(min). Therefore a corollary of equation (7) is that no two remotes 106 can use the same frequency if they are connecting to the same hub 104.

In order to successfully apply the simplified interference constraint in the case of multiple interferers, the interference constraint can be tightened by increasing the required SINR by some margin. Then, if individual interferers satisfy the tightened constraint, for a large enough SINR margin it is likely that the aggregate interference will satisfy the original non-linear interference constraint. The SINR margin is chosen based upon the expected multiplicity of highest-power interferers at the receiver.

To obtain the final form of the pairwise interference constraint, the path loss between node i and node j is defined as L_(ij)=10 log₁₀ (∥H_(ij)∥²). Then the interference constraint is given by

L _(kj) −L _(km)≧10 log₁₀(SINR_(min))+10 log₁₀(SINR_(margin))  (8)

The constraint can be interpreted as stating that link k→m would interfere with any links terminating at node j if the constraint is not satisfied.

In some examples, one can solve the ILP with an initial estimate of the SINR margin and then iterates, incrementing the SINR margin each time, until all links satisfy the non-linear SINR constraint.

The complete ILP formulation is given below in section 8.

3. Strategy for an Approximate Solution

The runtime for the ILP described in section 2 increases exponentially in relation to the number of nodes. As discussed above, when there are N nodes in the communication network 100, there are 2^(N) states that need to be evaluated. Lower-complexity heuristics can be devised using a two-part strategy:

-   -   Configuration search: Use a heuristic search over different         configurations of which nodes are hubs and which are remotes.         For example, a greedy algorithm and a simulated annealing         approach can be used for this search.     -   Assignment: For each configuration, use a heuristic to assign         each remote a hub and a frequency for both its uplink and         downlink channels. The result of this assignment is a cost         estimate that is fed back into the configuration search. In the         description below, closest hub and maximum matching approaches         are evaluated for the assignment.

These heuristic algorithms evaluate a subset of the 2^(N) states and find a state within the subset that has the lowest cost. The solution that is found using the heuristic algorithms can be considered a “local” optimal solution in the sense that it is an optimal solution within the subset of states that have been evaluated. Sections 4 and 5 describe the heuristic algorithms in detail. Section 4 begins with the assignment heuristic as it is a subproblem of the larger configuration search.

4. Heuristics for Remote Assignment and Frequency Allocation

The algorithms presented in this section assume that a configuration of hubs 104 has already been chosen. This means that a particular state within the 2^(N) states has been chosen for evaluation. Since the configuration fixes the hub cost, the cost function (equation 3) to be minimized reduces to minimizing the number of required uplink and downlink frequencies.

Cost=U _(f) +D _(f)  (9)

4.1 Closest Hub Heuristic

The closest hub heuristic includes assigning each remote node 106 to the hub 104 to which it has the lowest propagation loss. The hub 104 with the lowest propagation loss is referred to as the “closest” hub 104 for that remote node 106, although it may not be the geographically closest one (for example, there may be an obstacle between the remote node and a geographically closest hub, so the geographically closest hub has a higher propagation loss than a geographically farther hub). The following lemma provides some motivation for this heuristic.

Lemma 1: For the uplink, assigning each remote to its closest hub, followed by minimally assigning frequencies given these assignments, yields an optimal solution.

Proof: Consider a solution in which there exists a remote i that uplinks to hub j, but whose closest hub is actually k (i.e., ∥H_(ij)∥²<∥H_(ik)∥²). By assumption, all links are power-controlled so that the received power at the intended hub is P_(rev). Now, note that since node i is closer to hub k than to hub j, the received signal at hub k from node i has higher power than P_(rev). Hence, the link i→k cannot reuse any of the frequencies used by the remotes connected to hub j, otherwise it would interfere with them. Then, by reassigning remote i to hub k, the frequency cost can only improve due to reduced interference with other links. Therefore, for a given selection of hubs the optimal uplink frequency cost is achievable by assigning each remote to its closest hub.

The downlink case is different from the uplink. Assigning a remote node to be downlink from a closest hub may not be the optimal solution because such assignment may interfere with other assignments. For example, referring to FIG. 3, assigning a remote node 106 a to downlink from a closest hub 104 a may interfere with a downlink channel between the hub 104 a and another remote node 106 b. On the other hand, setting up a downlink channel between the remote node 106 a and a farther hub 104 b would not cause such an interference. A matching algorithm described below is used to assign remote nodes to hubs for downlinks.

Once the remotes are all assigned to hubs, the remaining problem is to assign frequencies. This can be achieved by building a conflict graph described by the interference constraints and running a graph coloring algorithm. Although graph coloring is in general an NP-complete problem, exact coloring algorithms can easily solve graphs generated by sites consisting of a large number of nodes.

4.2. Maximum Matching Heuristic

As discussed above, the closest hub assignment heuristic is not optimal for the downlink. In this section, a second heuristic is provided for the downlink assignment and allocation problem.

Intuition about this problem can be gained by considering the 2-hub case. In this case, note that a particular frequency can be used at most twice. In general, let F_(i) represent the set of remotes utilizing a downlink frequency that is shared among exactly i remotes. For two hubs, we have that the total number of downlink frequencies used, D_(f), is equal to,

$\begin{matrix} \begin{matrix} {D_{f} = {{\frac{1}{2}{F_{2}}} + {F_{1}}}} \\ {= {N_{R} + {\frac{1}{2}{F_{2}}}}} \end{matrix} & (10) \end{matrix}$

where we have used the fact that |F₁|+|F₂|=N_(R), where N_(R) is the number of remote nodes.

The equation (10) indicates that the total number of downlink frequencies can be minimized by maximizing |F₂|. This can be done as follows. Define an undirected graph G=(V, E), where V represents the set of remote nodes. Next draw an edge (i, j) between two remotes i, jεV if they can be assigned the same frequency and add it to the set E. Note that for two hubs, this can be easily determined by trying out all downlink assignments of i,j to the two hubs and checking against the interference constraints. Finally, a maximum cardinality matching in G can be found, yielding a set of edges M. For every edge in M, the algorithm allocates to the two endpoints of the edge the same frequency (with the corresponding downlink hub assignment), and assigns the remaining (unmatched) remotes to downlink from an arbitrary hub, on their own frequency. This results in the following:

Lemma 2: For two hubs, the maximum matching heuristic finds the optimal joint downlink hub assignment and frequency allocation. For K>2 hubs, equation (10) generalizes as follows,

$\begin{matrix} \begin{matrix} {D_{f} = {{\frac{1}{K}F_{K}} + \ldots + {\frac{1}{2}F_{2}} + F_{1}}} \\ {= {N_{R} - {\sum\limits_{i = 2}^{K}\; {Q_{i}F_{i}}}}} \end{matrix} & (11) \end{matrix}$

where Q_(i)=1−1/i.

In order to optimally solve the general problem for K>2, an analogous optimal algorithm is as follows. Define a hypergraph H=(V, E), where V represents the set of remotes. Next, draw a “hyperedge” connecting I remotes if those I remotes could share a single frequency (through some remote-to-hub assignment). Assign such an edge a weight of iQ_(i)=i−1, to represent the fact that I remotes have been added to the set F_(i). Finally, solve for a maximum weighted matching in H.

The approach outlined above may be difficult to solve. Finding a maximum weighted matching in a hypergraph is NP-complete, and constructing the hypergraph could be complicated, since determining if K remotes can be assigned on the same frequency to K hubs can take O(K!) time. The following approach is provided to address the general K-hub joint downlink assignment and frequency allocation problem.

Define a “node” to represent a set of remotes that can share a frequency. For example, a node consisting of i remotes reflects i remotes in the set F_(i). The overall idea is to minimize a weighted set of nodes by sequentially pairwise merging nodes whose component remote nodes can share a common frequency. In order to limit the complexity of evaluating whether a set of remotes at two nodes can share the same frequency, the algorithm only remembers a constant Z ways that any particular node can be formed. Thus evaluating whether two nodes can be merged involves at most O(Z²) complexity. The overall maximum matching heuristic algorithm is described below.

Referring to FIG. 4, an exemplar process 120 can be used to implement the maximum matching heuristic.

Step 1 (122): Start with each remote as its own node.

Step 2 (124): Construct a graph G=(V, E) where V represents the set of remaining nodes. Define an edge (i, j)εE between two nodes I, jεV if they can be merged, and set the weight the edge equal to |i|+|j|−1, where |i| is the number of remotes making up node i.

Step 3 (126): Find a maximum weighted matching in G, denoted by M. For any edge in the matching, merge the two endpoint nodes.

Step 4 (128): Repeat the graph construction steps 2 and 3 until no further matches are made, i.e., M=0.

Step 4 (130): Employ an optimal graph coloring algorithm given the downlink assignments chosen by the above heuristic. This ensures that the any inefficiencies for the frequency allocation subproblem are corrected for.

For a given state among the 2^(N) states, the closest hub heuristic can be used to determine the uplink assignments of remote nodes to hubs, and the maximum matching heuristic can be used to determine the downlink assignments of remote nodes to hubs.

5. Algorithms for Configuration Search

The following describes two algorithms for configuration search—a greedy algorithm and a simulated annealing approach. The configuration search can be regarded as a method of determining which subset of states among of 2^(N) states should be evaluated.

5.1. Greedy Hub Placement

In some implementations, a greedy algorithm is used to perform the configuration search. The greedy algorithm is based on the idea of sequentially adding hubs 104 such that at each step, the overall cost is maximally reduced. Note that each state represents a particular assignment of hubs and remote nodes. Thus, adding a hub (and subtracting a remote node) to the network corresponds to changing to a different state. As the greedy algorithm evaluates various network configurations have different numbers of hubs, the greedy algorithm moves from one state to another and evaluates the costs of the states. The greedy algorithm can be implemented as follows:

The algorithm starts by placing a hub 104 at an arbitrary site location. This is the first state to be evaluated. Note that any valid solution to the overall problem includes at least one hub 104. For this placement, we can calculate the ensuing cost by assigning every remote node 106 to this hub 104, on its own uplink and downlink frequencies. If there exist unassigned remote nodes 106 due to connectivity constraints (i.e., at least one remote node 106 as no viable wireless channel to any hub 104), we assume a large cost proportional to the number of such remotes 106.

In the next step, the algorithm considers changing one of the remote nodes 106 into a hub 104. Given the new hub choices, there are N−1 remaining remote nodes 106 that could be selected, and we evaluate the cost of each selection by running an assignment heuristic. The choice which results in the maximal decrease in cost (compared to the original selection of only a single hub) is taken. If no choice results in a cost decrease, the algorithm terminates.

In general, at step i, i−1 hubs will already be placed, and N−i+1 nodes will be remote nodes 106. We consider changing a single one of the remaining remote nodes 106 into a hub 104, and choose the change that gives the maximal cost decrease. If no choice results in a decrease, the algorithm terminates. We therefore at each stage attempt to greedily switch a node from being a remote node 106 to a hub 104.

The greedy algorithm, as described above, is a purely “downhill” algorithm in that it only accepts changes to a solution (e.g., hub additions) that decrease the cost. In other words, the greedy algorithm advances from a current state to a new state only if the new state has a cost lower than the current state.

The greedy algorithm is repeated for all N possible starting hub placements and the minimum solution is taken as the final solution.

5.2. Simulated Annealing

We also investigate the use of simulated annealing (SA) to find good hub configurations. Simulation results given below show that simulated annealing significantly reduces computational complexity while producing solutions that compare favorably to the optimal ILP solution.

In the simulated annealing algorithm, the current state is defined by an N×1 vector of indicators s={s_(i)}, where N is the total number of nodes, each s_(i) is an indicator which is 1 if node is a hub node, and 0 if it is not. The cost associated with the state is denoted C(s), which is defined by equation (3). When running the algorithm, the cost is estimated by combining the known cost of the hub configuration with an estimate of the assignment cost provided by either of the algorithms in section 4.

Another state is defined to be “adjacent” if its state vector differs in only one indicator from the current one. In each iteration of the annealing algorithm, we randomly select an adjacent state s. If the adjacent state has a lower cost, the new state becomes the current state. If it has a higher cost, then the new state becomes the current state with probability

P=e^([C(s)−C( s)]/T)  (12)

where T is a parameter called the temperature which decreases with time as the annealing progresses. Otherwise, the current state is retained until the next iteration. Note that there is some probability in each iteration that the algorithm will move “uphill” to a state with higher cost.

The temperature T is decreased in each iteration by setting T←αT, where α is a parameter between 0 and 1. From equation (12), we observe that as T decreases, the probability of making an uphill move decreases accordingly. Qualitatively, at the beginning of the search, the temperature is high and the annealing algorithm liberally traverses the search space, ideally moving towards the general region of the space containing good solutions and ignoring small features of the cost function. As the temperature decreases, it eventually begins searching more and more locally for a minimum, until finally at sufficiently low temperature it effectively becomes a downhill algorithm and converges on a local minimum.

6. System Implementation

A system for determining the topology of the communication network 100 can include a state machine that evaluating costs of states each representing a possible assignment of hubs 104 and remote nodes 106 to nodes of the communication network 100. The state machine traverses the states among the space of 2^(N) states using, for example, the greedy algorithm or the simulated annealing approach described above. For each state, a cost determination engine determines the cost of the state based on costs for setting up hub nodes, uplink frequencies for sending data from the remote nodes to corresponding hub nodes, and downlink frequencies for sending data from the hub nodes to corresponding remote nodes. For example, the cost determination engine determines the cost using equation (3) above.

FIG. 5 is a flow diagram of an exemplar process 140 for determining a topology of a communication network using an iterative process. Each step of the iterative process includes determining which nodes of the communication network are hub nodes and which nodes are remote nodes (142). The hub nodes connect to a central network, and the remote nodes connect wirelessly to the hub nodes to obtain connectivity to the central network through the hubs. The remote nodes are assigned to the hub nodes for establishing uplink channels between the remote nodes and corresponding hub nodes, and frequencies are assigned for the uplink channels (144). The remote nodes are assigned to the hub nodes for establishing downlink channels between hub nodes and corresponding remote nodes, and frequencies are assigned for the downlink channels (146). A cost of the network configuration based on assignments of the hub nodes, uplink frequencies, and downlink frequencies is evaluated (148). A determination is made as to whether to evaluate additional network configurations (150). If an additional network configurations is to be evaluated, the process 140 repeats steps 142 to 148, otherwise the network configuration having the lowest cost is selected as the final topology of the communication network (152).

FIG. 6 is a flow diagram of an exemplar iterative process 160 for determining a topology of a communication network. A greedy heuristic algorithm is used to determine which subset of states to evaluate at each iteration (162). Each state represents a possible assignment of hubs and remote nodes to nodes of the communication network, in which the hubs connect to a central network, and the remote nodes connect wirelessly to the hubs and obtaining connectivity to the central network through the hubs. At each iteration, the costs a subset of states are evaluated and one of the subset of states having a lowest cost is selected (164). The cost of each state is determined based on costs for configuring each node as a hub or a remote node, uplink frequencies for sending data from the remote nodes to corresponding hubs, and downlink frequencies for sending data from the hubs to corresponding remote nodes. At the next iteration, another subset of states is evaluated, each state in the other subset is derived by taking the lowest-cost state in the subset of the previous iteration and changing one or more of the remote nodes to hubs (166). The iterations are repeated until the costs of each state evaluated at an iteration are higher than the lowest cost of states evaluated at a previous iteration (168). The assignment of hubs and remote nodes represented by the state having the lowest cost in the previous iteration is selected as the final topology for the communication network (170).

FIG. 7 is a flow diagram of an exemplar iterative process 180 for determining a topology of a communication network. The process 180 uses a simulated annealing process to determine a sequence of states to evaluate (182). Each state represents a possible assignment of hubs and remote nodes to nodes of the communication network, in which the hubs connect to a central network, and the remote nodes connect wirelessly to the hubs and obtaining connectivity to the central network through the hubs. At each step of the simulated annealing process, the process 180 evaluates the costs of one or more neighboring states of a current state (184). For example, neighboring states are defined such that two neighboring states differ from each other by one node in which the node is a hub in one of the two neighboring states and a remote node in the other of the two neighboring states. The cost of each state is determined based on costs for configuring each node as a hub or a remote node, uplink frequencies for sending data from the remote nodes to corresponding hubs, and downlink frequencies for sending data from the hubs to corresponding remote nodes. The process 180 probabilistically determines whether to maintain the current state or evaluate one of the neighbor states, in order to progress generally towards states of lower costs (186). The assignment of hubs and remote nodes represented by the state having the lowest cost is selected as the final topology for the communication network (188).

7. Simulations

The following describes simulations of the algorithms on a variety of sample instances to evaluate their performance. In the case of 15-node tests, we were able to obtain the optimal solutions by brute force using an ILP solver, and showed that both the greedy and simulated annealing heuristics obtain the optimal solutions. For larger instances, we showed that the both algorithms obtain solutions that achieve significant frequency reuse and, in the case of the city-oriented instances, made logical choices for hubs by placing them near the cities.

7.1. Test Case Generation

The performances of the simulated annealing and greedy algorithms were evaluated using test cases. Two classes of test cases were generated: “uniform” and “city” test cases.

The uniform scenario is intended to generate site plans with no predetermined bias towards any placement of hubs or remotes. In this scenario, sites are randomly placed on a square grid according to a uniform distribution. The propagation loss between any pair of points is chosen to be proportional to 1/d^(3.5), where d is the distance between the sites. Losses are normalized so that the loss between the closes pair of sites is 9 dB. The cost of a single frequency (in either uplink or downlink directions) is chosen to be 1. The cost of making a node a hub is chosen to be 2.5.

The “city” scenario arose naturally from the cellular backhaul context in which we first considered this problem. In a backhaul scenario, the hub OPEX cost is essentially equivalent to the lease cost of the T1/E1 line(s). The line lease cost is lower in cities than in rural areas. This is modeled in the city scenario by placing a number of “cities” within the geography and designating the cost of making any node a hub proportional to its distance from the closest city. Propagation losses between pairs of nodes are set as in the uniform case.

7.2. Results

We ran two algorithms on all of the instances: the greedy algorithm using the matching heuristic (GA), and the simulated annealer using the closest hub heuristic (SA). Additionally, since neither is guaranteed to produce an optimal solution, we also considered a few small instances of 15 nodes each and ran an ILP solver on them in order to obtain an optimal solution for comparison. To keep the complexity of the problem manageable and produce an ILP solution in a reasonable time, not all pairs of nodes had viable channels in the 15 node case; the total number of links was cut to 20% by removing all links with propagation loss above a chosen threshold for the 15-node cases only, and all algorithms run on the sparsely-connected nodes.

In the 15-node case, all 3 simulations obtained the optimal solution including a total cost of 18: a hub cost of 10 (corresponding to 4 hubs), and a total of 4 uplink and 4 downlink frequencies. This provides us with some confidence that the proposed heuristics behave well, at least for these small instances. Next, a collection of instances of varying size were generated. For each size, 10 instances were produced.

FIG. 8 shows a table 190 that gives the maximum, minimum, and mean costs for the best solution produced by each algorithm over these 10 instances. The costs are further broken down into hub and frequency components. The table shows that the GA and the SA algorithms produced solutions with similar cost. The running time of the algorithms was also comparable. On a Dual Processor Intel Xeon 2.8 GHz, the 100-node instances took roughly 2 minutes to complete for a single run of the SA, and 20 minutes for the GA. Since the annealer is a randomized algorithm, different runs can produce different solutions, so 10 runs were performed on each instance and the best solution out of those runs was chosen.

We next show site plans for particularly interesting cases. FIG. 9 is a graph 200 showing a topology and frequency plan for the downlink of a 100-node instance of the city scenario. This GA solution was generated by the greedy algorithm and the maximal matching assignment heuristic. The SA solution obtained by the simulated annealer using closest hub was similar and had virtually identical cost. This can be attributed to the nature of the city model, which lends itself to encouraging hub placement only in cities, and assigning remotes in areas away from cities. The solution space therefore consists of a relatively small number of good solutions and many bad solutions, and tends to be solved well by local search algorithms.

FIG. 10 is a graph 210 showing the best solutions obtained by the GA algorithm for the downlink of a 100-node uniform scenario. FIG. 11 is a graph 220 showing the best solutions obtained by the SA algorithm for the downlink of a 100-node uniform scenario. Here, the solutions have more noticeable differences. In particular, the GA tends to place fewer hubs than the annealer. This was true for all instances tested, and can be attributed to the fact that the greedy algorithm begins with only a single hub and can only add one hub at a time. If a solution with better cost requires addition of two hubs, but all possible paths to that state consisting of sequential additions of one hub at a time visit an intermediate state with higher cost, then that solution is never reached.

As a final note, we point out that since the GA and SA algorithms used different search and assignment heuristics, we are not able to attribute the differences specifically to either the greedy vs. simulated annealing search method or the closest hub vs. matching heuristic. Future work will involve simulated the annealer using the matching heuristic and the greedy algorithm using the closest hub approach, so that a comprehensive comparison can be performed.

We considered the problem of jointly designing the topology and assignment communications frequencies for a fixed point-to-multipoint network. The problem consists of (i) choosing which nodes should be hubs, (ii) assigning remotes to hubs, and (iii) performing frequency assignment on the uplink and downlink channels of each hub-remote connection.

8. ILP Formulation

The ILP formulation of the network optimization problem consists of the cost function and constraints listed below. The constraints ensure that the network topology and physical layer limitations are satisfied by the ILP solution.

(a) Cost function: The network cost is given by

$\begin{matrix} {{\sum\limits_{i = 1}^{N}\; {c_{i}Y_{i}}} + {g{\sum\limits_{f \in F_{UL}}\; U_{f}}} + {g{\sum\limits_{f \in F_{DL}}D_{f}}}} & (13) \end{matrix}$

where c_(i) is the cost of operating node i as a hub, and g is the cost of using a single frequency. Y_(i), U_(f) and D_(f) are indicators defined as follows:

$\begin{matrix} {Y_{i} = \left\{ \begin{matrix} {1,} & {{if}\mspace{14mu} {node}\mspace{14mu} i\mspace{14mu} {is}\mspace{14mu} a\mspace{14mu} {hub}} \\ {0,} & {{otherwise}.} \end{matrix} \right.} & \left( {14\; a} \right) \\ {U_{f} = \left\{ \begin{matrix} {1,} & {f \in {F_{UL}\mspace{14mu} {is}\mspace{14mu} {used}}} \\ {0,} & {{otherwise}.} \end{matrix} \right.} & \left( {14\; b} \right) \\ {D_{f} = \left\{ \begin{matrix} {1,} & {{{if}\mspace{14mu} f} \in {F_{DL}\mspace{14mu} {is}\mspace{14mu} {used}}} \\ {0,} & {{otherwise}.} \end{matrix} \right.} & \left( {14\; c} \right) \end{matrix}$

(b) A node can be either a hub or a remote: This also ensures that there are no multi-hop links in the network.

$\begin{matrix} {{{Y_{i} + {\sum\limits_{j = 1}^{N}\; {\sum\limits_{f \in F_{UL}}Z_{ijf}}}} \leq 1},{1 \leq i \leq N}} & \left( {15\; a} \right) \\ {{{Y_{i} + {\sum\limits_{j = 1}^{N}\; {\sum\limits_{f \in F_{DL}}W_{ijf}}}} \leq 1},{1 \leq i \leq N}} & \left( {15\; b} \right) \end{matrix}$

(c) Link feasibility and frequency limit per link: The constraints below ensure both link feasibility and that no more than one frequency channel is used per simplex link. Feasible links are those that can be serviced within the maximum power constraint. The indicator X_(ij) identifies which links are feasible, and P_(max) is the maximum transmit power constraint.

$\begin{matrix} {X_{ij} = \left\{ \begin{matrix} {1,} & {{{if}\mspace{14mu} 20\mspace{14mu} {\log_{10}\left( {P_{\max}/{No}} \right)}} \geq {L_{ij} + {10\mspace{14mu} {\log_{10}\left( {SINR}_{\min} \right)}}}} \\ {0,} & {{otherwise}.} \end{matrix} \right.} & (16) \\ {{{\sum\limits_{f \in F_{UL}}Z_{ijf}} \leq {Y_{j}X_{ij}}},{1 \leq i},{j \leq N}} & \left( {17\; a} \right) \\ {{{\sum\limits_{f \in F_{DL}}W_{ijf}} \leq {Y_{j}X_{ji}}},{1 \leq i},{j \leq N}} & \left( {17\; b} \right) \end{matrix}$

(d) No Frequency reuse among remotes connected to the same hub: Ensures no interference between uplinks terminating in the same hub and prevents a hub from using the same frequency to downlink to more than one remote.

$\begin{matrix} {{{\sum\limits_{i = 1}^{N}Z_{ijf}} \leq 1},{1 \leq j \leq N},{\forall{f \in F_{UL}}}} & \left( {18\; a} \right) \\ {{{\sum\limits_{i = 1}^{N}W_{ijf}} \leq 1},{1 \leq j \leq N},{\forall{f \in F_{DL}}}} & \left( {18\; b} \right) \end{matrix}$

(e) Interference constraints: The pairwise interference constraints derived in Section II-E.1 are applied to all possible pairs of downlinks and uplinks to ensure that pairs of links that would interfere are not assigned the same frequency channel.

$\begin{matrix} {{{Z_{ijf} + {\beta_{kmj}Z_{kmf}}} \leq 1},{\forall{f \in F_{UL}}}} & \left( {19\; a} \right) \\ {{{{W_{ijf} + {\beta_{mki}Z_{kmf}}} \leq 1},{\forall{f \in F_{DL}}}}{{{{for}\mspace{14mu} 1} \leq i},j,k,{m \leq N},{k \neq i},{m \neq j},{where}}} & \left( {19\; b} \right) \\ {\beta_{kmj} = \left\{ \begin{matrix} {1,} & \begin{matrix} {{{{if}\mspace{14mu} L_{kj}} - L_{km}} < {{10\; {\log_{10}\left( {SINR}_{\min} \right)}} +}} \\ {10\mspace{14mu} {\log_{10}\left( {SINR}_{margin} \right)}} \end{matrix} \\ {0,} & {{otherwise}.} \end{matrix} \right.} & (20) \end{matrix}$

(f) Frequency cost constraints: Ensure that if a frequency channel is used by at least one link its cost is added to the network cost.

$\begin{matrix} {{{\sum\limits_{i = 1}^{N}{\sum\limits_{j = 1}^{N}Z_{ijf}}} \geq U_{f}},{\forall{f \in F_{UL}}}} & \left( {21\; a} \right) \\ {{{\sum\limits_{i = 1}^{N}{\sum\limits_{j = 1}^{N}Z_{ijf}}} \leq {N^{2}U_{f}}},{\forall{f \in F_{UL}}}} & \left( {21\; b} \right) \\ {{{\sum\limits_{i = 1}^{N}{\sum\limits_{j = 1}^{N}W_{ijf}}} \geq D_{f}},{\forall{f \in F_{DL}}}} & \left( {21\; c} \right) \\ {{{\sum\limits_{i = 1}^{N}{\sum\limits_{j = 1}^{N}W_{ijf}}} \leq {N^{2}D_{f}}},{\forall{f \in F_{DL}}}} & \left( {21\; d} \right) \end{matrix}$

(g) No self-connection: Prevent nodes from linking to themselves.

W_(iif)=0, 1≦i≦N, ∀fεF_(DL)  (22a)

Z_(iif)=0, 1≦i≦N, ∀fεF_(UL)  (22a)

A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, the specific algorithms and mathematical equations used for assigning hubs, assigning remote nodes to hubs, and assigning uplink and downlink frequencies can be different from those described above. The cost function can be different. The physical layer characteristics can be different. Algorithms can be developed to produce a new near-optimal solution quickly when an already-solved situation changes incrementally. Distributed versions of the algorithms can be used when central decision-making is not possible. Accordingly, other implementations are within the scope of the following claims. 

1. A computer implemented method comprising: determining, using at least one computer, a topology of a communication network by evaluating costs of states each representing a possible assignment of hubs and remote nodes to nodes of the communication network, the hubs connecting to a central network, the remote nodes connecting wirelessly to the hubs and obtaining connectivity to the central network through the hubs; and wherein the cost of each state is determined based on costs for configuring each node as a hub or a remote node, uplink frequencies for sending data from the remote nodes to corresponding hubs, and downlink frequencies for sending data from the hubs to corresponding remote nodes.
 2. The method of claim 1 wherein the communication network comprises a cellular telephone network.
 3. The method of claim 1 wherein the hubs and the remote nodes comprise base stations for communicating with end users, the central network comprises a switched network, and the links between the remote nodes and the hubs provide in-band backhaul.
 4. The method of claim 1 wherein each node can either be a hub or a remote node, and evaluating the costs of states comprises evaluating the costs of a subset of states selected from 2^(N) states, N representing the number of nodes in the communication network.
 5. The method of claim 1, further comprising determining uplink relationships between remote nodes and hubs indicating which remote nodes send data upstream to which hubs.
 6. The method of claim 5 wherein determining the uplink relationships comprises assigning each remote node to a closest hub and assigning uplink frequencies such that signal-to-interference-plus-noise ratios for each uplink is above a preset threshold.
 7. The method of claim 6 wherein assigning each remote node to a closest hub comprises assigning each remote node to a hub that is closest geographically or a hub that results in a minimum propagation loss.
 8. The method of claim 1, further comprising determining downlink relationships between hubs and remote nodes indicating which hubs send data downstream to which remote nodes.
 9. The method of claim 8 wherein determining the downlink relationships comprises selecting among a plurality of possible configurations to maximize the number of remote nodes that share frequencies while maintaining the signal-to-interference-plus-noise ratios for each downlink above a preset threshold.
 10. The method of claim 1, further comprising using a greedy heuristic algorithm to determine a subset of states to evaluate.
 11. The method of claim 1, further comprising using an iterative process to evaluate the states, and at each iteration evaluate states each representing a network topology having more hubs than those represented by states evaluated at a previous iteration.
 12. The method of claim 11 wherein when the costs of each state evaluated at an iteration are higher than the lowest cost of states evaluated at a previous iteration, the assignment of hubs and remote nodes represented by the state having the lowest cost in the previous iteration is selected as the final topology for the communication network.
 13. The method of claim 11, further comprising at each iteration evaluating a first subset of states and selecting one of the first subset of states having a lowest cost, and at the next iteration evaluating a second subset of states each derived by taking the lowest-cost state in the first subset and changing one or more of the remote nodes to hubs.
 14. The method of claim 1, further comprising using an iterative process to evaluate the states, and at each iteration evaluate states each representing a network topology having less hubs than those represented by states evaluated at a previous iteration.
 15. The method of claim 14, further comprising at each iteration evaluating a first subset of states and selecting one of the first subset of states having a lowest cost, and at the next iteration evaluating a second subset of states each derived by taking the lowest-cost state in the first subset and changing one or more of the hubs to remote nodes.
 16. The method of claim 1, further comprising using a simulated annealing process to determine a sequence of states to evaluate, including at each step of the process, evaluating one or more neighbor states of a current state and probabilistically determining whether to maintain the current state or evaluate one of the neighbor states, in order to progress generally towards states of lower costs.
 17. The method of claim 16 wherein neighboring states are defined such that two neighboring states differ from each other by one node in which the node is a hub in one of the two neighboring states and a remote node in the other of the two neighboring states.
 18. A computer implemented method comprising: determining, using at least one computer, a topology of a communication network by using linear programming to find a minimum of a cost function subject to a set of constraints, the cost function including variables representing whether a node of the communication network is a hub or a remote node, variables indicating whether a set of uplink frequencies are used, and variables indicating whether a set of downlink frequencies are used, the constraints taking into account signal-to-interference-plus-noise ratio requirements for the uplinks and downlinks.
 19. The method of claim 18 wherein the linear programming comprises integer linear programming and one or more of the variables comprise integers.
 20. A computer implemented method comprising: determining, using at least one computer, a topology of a communication network using an iterative process, each step of the iterative process comprising determining which nodes of the communication network are hub nodes and which nodes are remote nodes, the hub nodes connecting to a central network, the remote nodes connecting wirelessly to the hub nodes and obtaining connectivity to the central network through the hubs, assigning the remote nodes to the hub nodes for establishing uplink channels between the remote nodes and corresponding hub nodes, assigning frequencies for the uplink channels, assigning the remote nodes to the hub nodes for establishing downlink channels between hub nodes and corresponding remote nodes, assigning frequencies for the downlink channels, and evaluating a cost of network configuration based on assignments of the hub nodes, uplink frequencies, and downlink frequencies.
 21. The method of claim 20 wherein assigning the remote nodes to the hub nodes for establishing uplink channels and assigning the uplink frequencies comprise assigning each remote node to a closest hub node and assigning uplink frequencies such that signal-to-noise ratios for each uplink is above a preset threshold.
 22. The method of claim 20 wherein assigning the remote nodes to the hub nodes for establishing downlink channels and assigning the downlink frequencies comprise assigning each remote node to a closest hub node and assigning downlink frequencies such that signal-to-noise ratios for each downlink is above a preset threshold.
 23. The method of claim 20 wherein assigning the remote nodes to the hub nodes for establishing downlink channels and assigning downlink frequencies comprise selecting among a plurality of possible configurations to maximize reuse of frequencies while maintaining the signal to noise ratios for each downlink above a preset threshold.
 24. A system comprising: a state machine to determine a topology of a communication network by evaluating costs of states each representing a possible assignment of hubs and remote nodes to nodes of the communication network, the hubs connecting to a central network, the remote nodes connecting to the hubs, and a cost determination engine to determine a cost of each state based on costs for configuring each node as a hub or a remote node, uplink frequencies for sending data from the remote nodes to corresponding hubs, and downlink frequencies for sending data from the hubs to corresponding remote nodes.
 25. An article comprising computer-readable medium encoded with computer executable instructions that when executed by one or more computers causes the one or more computers to perform operations comprising: determining a topology of a communication network by evaluating costs of states each representing a possible assignment of hubs and remote nodes to nodes of the communication network, the hubs connecting to a central network, the remote nodes connecting wirelessly to the hub nodes and obtaining connectivity to the central network through the hubs; wherein the cost of each state determined based on costs for configuring each node as a hub node or a remote node, uplink frequencies for sending data from the remote nodes to corresponding hub nodes, and downlink frequencies for sending data from the hub nodes to corresponding remote nodes. 